home *** CD-ROM | disk | FTP | other *** search
/ HTBasic 9.3 / HTBasic 9.3.iso / 83win / data1.cab / DLL_Toolkit / Source / HTBSlider / SliderDlg.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-02  |  3.2 KB  |  110 lines

  1. // SliderDlg.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "htbslider.h"
  6.  
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14.  
  15. ////////////////////////////////////////////////////////////////////////////
  16. // SliderDlg dialog
  17.  
  18.  
  19. SliderDlg::SliderDlg(CWnd* pParent /*=NULL*/)
  20.     : CDialog(SliderDlg::IDD, pParent)
  21. {
  22.     //{{AFX_DATA_INIT(SliderDlg)
  23.         // NOTE: the ClassWizard will add member initialization here
  24.     //}}AFX_DATA_INIT
  25. }
  26.  
  27.  
  28. void SliderDlg::DoDataExchange(CDataExchange* pDX)
  29. {
  30.     CDialog::DoDataExchange(pDX);
  31.     //{{AFX_DATA_MAP(SliderDlg)
  32.     DDX_Control(pDX, IDC_SLIDER1, m_Slider);
  33.     //}}AFX_DATA_MAP
  34. }
  35.  
  36.  
  37. BEGIN_MESSAGE_MAP(SliderDlg, CDialog)
  38.     //{{AFX_MSG_MAP(SliderDlg)
  39.     ON_WM_TIMER()
  40.     //}}AFX_MSG_MAP
  41. END_MESSAGE_MAP()
  42.  
  43. /////////////////////////////////////////////////////////////////////////////
  44. // SliderDlg message handlers
  45.  
  46. BOOL SliderDlg::OnInitDialog() 
  47. {
  48.     CDialog::OnInitDialog();
  49.  
  50.     CWnd* pText;
  51.     
  52.     // set window size and pos
  53.     SetWindowPos(FromHandle(m_hWnd),g_DlgXCor,g_DlgYCor,(g_TextWidth*2)+g_SliderWidth+FOURSPACE,WINDOWHEIGHT,SWP_NOZORDER);
  54.  
  55.     SetWindowText(g_Title);                                        // set dialog title
  56.  
  57.  
  58.     SetDlgItemText(IDC_DESCRIPTION,g_Description);
  59.     pText = GetDlgItem(IDC_DESCRIPTION);                        // get pointer to static text control text
  60.     // set width of static text control
  61.     pText->SetWindowPos(NULL,0,0,(g_TextWidth*2)+g_SliderWidth+TWOSPACE,DOUBLETEXTHEIGHT,SWP_NOZORDER | SWP_NOMOVE);
  62.  
  63.  
  64.     SetDlgItemText(IDC_LOWTEXT,g_LowText);                        // set static text control text
  65.     pText = GetDlgItem(IDC_LOWTEXT);                            // get pointer to static text control text
  66.     pText->SetWindowPos(NULL,0,0,g_TextWidth,TEXTHEIGHT,SWP_NOZORDER | SWP_NOMOVE);    // set width of static text control
  67.  
  68.     
  69.     // set slider size and pos
  70.     m_Slider.SetWindowPos(FromHandle(m_hWnd),TWOSPACE+g_TextWidth,SLIDERYCORD,g_SliderWidth,SLIDERHEIGHT,SWP_NOZORDER);
  71.     
  72.  
  73.     SetDlgItemText(IDC_HIGHTEXT,g_HighText);                    // set static text control text
  74.     pText = GetDlgItem(IDC_HIGHTEXT);                            // get pointer to static text control text
  75.     pText->SetWindowPos(FromHandle(m_hWnd),THREESPACE+g_TextWidth+g_SliderWidth,HIGHTEXTYCORD,
  76.                             g_TextWidth,TEXTHEIGHT,SWP_NOZORDER);    // set width of static text control
  77.  
  78.  
  79.     m_Slider.SetRange(g_LowVal,g_HighVal);                        // set lower and upper range of progress bar
  80.  
  81.     m_Slider.SetPos(g_LowVal);                                    // default to lower
  82.  
  83.  
  84.     itoa(g_LowVal,g_Value,10);                                    // convert g_LowVal to string
  85.     SetDlgItemText(IDC_VALUE,g_Value);                            // set static text control
  86.     pText = GetDlgItem(IDC_VALUE);                                // get pointer to static text control text
  87.  
  88.     // set width of static text control
  89.     pText->SetWindowPos(NULL,0,0,(g_TextWidth*2)+g_SliderWidth+TWOSPACE,TEXTHEIGHT,SWP_NOZORDER | SWP_NOMOVE);
  90.  
  91.     SetTimer(1,TIMERVAL,NULL);                                // start timer used for updateing by reference
  92.     
  93.     return TRUE;  // return TRUE unless you set the focus to a control
  94.                   // EXCEPTION: OCX Property Pages should return FALSE
  95. }
  96.  
  97.  
  98. void SliderDlg::OnTimer(UINT nIDEvent) 
  99. {    int value;
  100.  
  101.     value = m_Slider.GetPos();
  102.  
  103.     itoa(value,g_Value,10);
  104.     SetDlgItemText(IDC_VALUE,g_Value);
  105.  
  106.     *g_pBasicVar = value;
  107.     
  108.     CDialog::OnTimer(nIDEvent);
  109. }
  110.